<?php

namespace App\Enums;

/**
 * 组装拆卸成品操作状态
 */
enum DassemblyProductStatus: int
{
    case WAIT  = 0; //待操作
    case OUT   = 1; //拆卸出库
    case IN   = 2; //组装入库

    /**
     * 获取名称
     * @return string
     */
    public function label(): string
    {
        return match ($this) {
            self::WAIT     => "待操作",
            self::OUT      => "拆卸出库",
            self::IN      => "组装入库",
        };
    }

    /**
     * 根据值获取名称
     * @param $val
     * @return string
     */
    static function labelBy($val){
        $obj = self::tryFrom((int) $val);
        return $obj ? $obj->label() : '';
    }

}
